Circuiti combinatori vs. circuiti sequenziali
Nel mondo digitale, distinguiamo tra sistemi che vivono nel "presente" e sistemi che ricordano il "passato":
- Circuiti combinatori: Sono privi di memoria. Come un semplice interruttore che è o acceso o spento, l'uscita dipende esclusivamente dai valori degli ingressi correnti.
- Circuiti sequenziali: Utilizzano loop di retroazione per incorporare gli ingressi passati nel processo decisionale corrente. In questo modo, colmano efficacemente il divario tra porte logiche semplici e macchine a stati finiti complesse.
Un ritardo di unità di tempo è un componente primitivo che accetta come ingresso un bit $x_t$ al tempo $t$ e produce in uscita $x_{t-1}$, il bit ricevuto come ingresso al tempo $t-1$.
Il concetto di stato
L'integrazione di ritardi di unità di tempo permette la creazione di stato. L'organizzazione dei bit memorizzati determina come la macchina risponderà a sequenze future di stimoli. Senza questa sequenza temporale, la computazione sarebbe limitata a valutazioni statiche.
Pensiamo a un "interruttore a toggolo" digitale in cui un singolo pulsante accende e spegne una lampadina. Un circuito combinatorio potrebbe rilevare solo se il pulsante è al momento premuto. Tuttavia, utilizzando un ritardo di unità di tempo per memorizzare lo stato precedente della lampadina ($x_{t-1}$), un circuito sequenziale può determinare che se il pulsante è premuto e la lampadina era precedentemente spenta ($x_{t-1}=0$), l'uscita dovrebbe essere accesa ($x_t=1$).